<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%-- 导入JSTL的核心标签库，并指定前缀为 "c" --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html>
<head>
    <title>用户登录</title>
    <style>
        body { font-family: sans-serif; display: flex; justify-content: center; margin-top: 50px; }
        .login-box { border: 1px solid #ccc; padding: 20px; border-radius: 5px; }
        .error { color: red; margin-top: 10px; }
    </style>
</head>
<body>
    <div class="login-box">
        <h2>用户登录</h2>
        <%-- form的action指向我们的LoginServlet --%>
        <form action="${pageContext.request.contextPath}/login" method="post">
            用户名：<input type="text" name="username" /><br/><br/>
            密&nbsp;&nbsp;&nbsp;码：<input type="password" name="password" /><br/><br/>
            <input type="submit" value="登录" />
        </form>
        
        <%-- 
            使用JSTL的<c:if>标签进行逻辑判断。
            test="${not empty errorMessage}" 的含义是：
            - EL表达式 ${errorMessage} 会从request作用域中寻找名为 "errorMessage" 的属性。
            - "not empty" 判断这个属性是否不为null且不为空。
            - 如果判断为真，则执行<c:if>标签体内的内容。
            这比写 <% if (request.getAttribute("errorMessage") != null) { ... } %> 要简洁得多！
        --%>
        <c:if test="${not empty errorMessage}">
            <p class="error">${errorMessage}</p>
        </c:if>
    </div>
</body>
</html>